#ifndef TYPE_H
#define TYPE_H

enum TYPE {
	// FOR AST/PARSER
	ASSIGN,		// assignment statement | x = 0, x = 1, x = 1
	CALL,		// call statement		| call procName()
	CONST,		// constant				| 0, 1, 2, ... N
	EXPR,		// expression			| PLUS | MINUS | TIMES | REF
	IF,			// if statement			| if { STMTLST }
	MINUS,		// minus operator		| EXPR - EXPR
	PLUS,		// plus	operator		| EXPR + EXPR
	PROC,		// procedure			| procedure ProcName { STMTLST }
	REF,		// reference			| VAR | CONST
	STMTLST,	// statement list		| { ... }
	STMT,		// a statement			| ...; 
	TIMES,		// times operator		| EXPR * EXPR
	VAR,		// a variable name		| not a keyword
	WHILE,		// while loop			| while { STMTLST }
	
	PROGLINE,	// ?
	NONE,		// ?
	//FOR QT
	SELECT,
	SYNONYM,
	WILDCARD,
	BOOLEAN,
	RESULT,
	SUCHTHAT,
	PATTERN,
	WITH,
	FOLLOWS,
	FOLLOWST,
	PARENT,
	PARENTT,
	MODIFIESS,
	USESS,
	//MODIFIESP, USESP, NEXT, NEXTT, AFFECTS, AFFECTST, CALLS, CALLST
};

#endif